﻿
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- saved from url=(0014)about:internet -->
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:mssdk="winsdk" xmlns:script="urn:script" xmlns:build="urn:build" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="Description" content="The j command conditionally executes one of the specified commands, depending on the evaluation of a given expression."/>
<meta name="MSHAttr" content="PreferredSiteName:MSDN"/>
<meta name="MSHAttr" content="PreferredLib:/library/windows/hardware"/>
<title>j (Execute If - Else)</title>

<meta name="MS-HAID" content="r17_cmds_I_d3caf916-24fd-419f-90eb-05a88b72032e.xml"/>


<link rel="STYLESHEET" type="text/css" HREF="../common/backsdk4.css"/>





<style>
html,div { margin: 0; padding: 0;}

body {
	padding: 0px;
	margin: 0px;
	overflow: auto;
	height: 100%;
}

#winchm_template_button{
	float: right;
	width: 93px;
	top: 7px;
	position: relative;
	text-align: right;
	right: 5px;
	height: auto;
}

#winchm_template_top{
	padding: 0px;
	margin: 0px;
	border-bottom: 1px solid #9B9B9B;
	background-color: #B1CEFE;
}

#winchm_template_navigation{
	margin: 0px;
	padding-top: 7px;
	padding-left: 7px;
	padding-bottom: 3px;
	padding-right: 0px;
	font-size: 8.5pt;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: normal;
	color: #585858;
}

#winchm_template_title{
	margin: 0px;
	padding-top: 4px;
	padding-left: 7px;
	padding-bottom: 7px;
	padding-right: 0px;
	font-size: 18px; 
	font-family: Verdana, Geneva, sans-serif;
	color: #363636;
}

#winchm_template_content{
	margin-top: 20px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	width: auto  !important;
	width: 100%;
}

#winchm_template_footer{
	border-width: 1px;
	border-color: #B1CEFE;
	border-top-style: solid;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 20px;
	margin-right: 15px;
	padding-top: 7px;
	padding-left: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
	font-family: arial, helvetica, sans-serif;
	font-size: 8.5pt;
	color: #696969;
	width: auto;
	text-align: left;
}


#winchm_template_container{
	margin: 0px;
	padding: 0px;
	position: static;
	padding-bottom: 3px;
	overflow: auto;
	background-color: #FFFFFF;
}


@media print
{
#winchm_template_container{
	position: static;	
	margin: 0px;
	padding: 5px;
	
	width: auto;
	height: auto;
	overflow: auto;
}
#winchm_template_button{
visibility:hidden;
}
}

#winchm_template_navigation A:link	{text-decoration: none; color:#004080}
#winchm_template_navigation A:visited  {text-decoration: none; color: #004080}
#winchm_template_navigation A:active {text-decoration: none; color: #004080 }
#winchm_template_navigation A:hover {text-decoration: none;color: #0080FF}

A:link	{text-decoration: underline; color:#0033CC}
A:visited  {text-decoration: underline; color: #0033CC}
A:active {text-decoration: underline; color: #0033CC }
A:hover {text-decoration: underline;color: #FF0000;}
</style>
<script type="text/javascript">
function isMobile(){
Agent = window.navigator.userAgent;
if (Agent.indexOf("iPhone")>=1 || Agent.indexOf("iPad")>=1 || Agent.indexOf("iPod")>=1 || Agent.indexOf("Android")>=1){
return true;
}else{
return false;	
}

}
function d_onresize(){
if (window.navigator.userAgent.indexOf("MSIE")>=1){
document.getElementById('winchm_template_container').style.pixelWidth = document.body.offsetWidth - 3;
document.getElementById('winchm_template_container').style.pixelHeight = document.body.offsetHeight - document.getElementById('winchm_template_top').offsetHeight - 4;
}
document.getElementById('winchm_template_container').style.top = document.getElementById('winchm_template_top').offsetHeight + 'px';
}

function d_onbeforeprint(){
document.getElementById('winchm_template_container').style.width = 'auto';
document.getElementById('winchm_template_container').style.height = 'auto';
}

function d_onafterprint(){
d_onresize();
}

if(!isMobile()){

window.onload = d_onresize;
window.onresize = d_onresize;
window.onbeforeprint = d_onbeforeprint;
window.onafterprint = d_onafterprint;

document.write("<style>\n");
document.write("body {overflow: hidden;}\n");
document.write("#winchm_template_container {position: absolute;overflow: auto;top : 0px;right: 0px;bottom: 0px;left: 0px;}\n");
document.write("</style>\n");
}

</script>
</head>
<body><script language="JavaScript" type="text/JavaScript">
function syn(){
if(parent.nav.tree){
 if(parent.nav.tree.loaded){
  parent.nav.tree.selectNode(2003);
 }else{
  setTimeout("syn()",500);
}
  }else{
  setTimeout("syn()",500);
  }}
if(parent!=self){
  setTimeout("syn()",100);
}else{
  parent.location.href = "../../index.htm?page=debugger/j__execute_if___else_.htm";
}
originalOnload = window.onload;
if(originalOnload==null){
window.onload = function(){parent.contentLoaded = true;};
}else{
window.onload = function(){originalOnload();parent.contentLoaded = true;};
}
</script> 


<div id="winchm_template_top">
	<div id="winchm_template_button"><A href="ib__iw__id__input_from_port_.htm" title="Previous topic"><img id="winchm_template_prev" alt="Previous topic" src="../template2/btn_prev_n.gif" border="0"></a><A href="k__kb__kc__kd__kp__kp__kv__display_stack_backtrace_.htm" title="Next topic"><img id="winchm_template_next" alt="Next topic" src="../template2/btn_next_n.gif" border="0"></a></div>
	<div id="winchm_template_navigation">Help &gt; 
<A href="introduction6.htm">Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)</A> &gt; <A href="debugger_reference.htm">Debugger Reference</A> &gt; <A href="debugger_commands.htm">Debugger Commands</A> &gt; <A href="commands.htm">Commands</A> &gt; </div>
	<div id="winchm_template_title">j (Execute If - Else)</div>
</div>
<div id="winchm_template_container">
	<div id="winchm_template_content"><div id="mainSection"><p>The <b>j</b> command conditionally executes one of the specified commands, depending on the evaluation of a given expression.</p>
<pre class="syntax"><b>j</b> Expression Command1 <b>;</b> Command2 
<b>j</b> Expression <b>'</b>Command1<b>'</b> <b>;</b> <b>'</b>Command2<b>'</b> 
</pre>
<h2><a id="ddk_cmd_execute_if_else_dbg"></a><a id="DDK_CMD_EXECUTE_IF_ELSE_DBG"></a>Parameters</h2>
<p></p>
<dl>
<dt><a id="_______Expression______"></a><a id="_______expression______"></a><a id="_______EXPRESSION______"></a>       <i>Expression</i>      </dt>
<dd>
<p>The expression to evaluate. If this expression evaluates to a nonzero value, <i>Command1</i> is executed. If this expression evaluates to zero, <i>Command2 </i>is executed. For more information about the syntax of this expression, see <a href="#Bookmark1917">Numerical Expression Syntax</a>.</p>
</dd>
<dt><a id="_______Command1______"></a><a id="_______command1______"></a><a id="_______COMMAND1______"></a>       <i>Command1</i>      </dt>
<dd>
<p>The command string to be executed if the expression in <i>Expression</i> evaluates to a nonzero value (TRUE). You can combine multiple commands by surrounding the command string with single straight quotation marks ( <b>'</b> ) and separating commands by using semicolons. If the command string is a single command, the single quotation marks are optional.</p>
</dd>
<dt><a id="_______Command2______"></a><a id="_______command2______"></a><a id="_______COMMAND2______"></a>       <i>Command2</i>      </dt>
<dd>
<p>The command string to be executed if the expression in <i>Expression</i> evaluates to zero (FALSE). You can combine multiple commands by surrounding the command string with single straight quotation marks ( <b>'</b> ) and separating commands by using semicolons. If the command string is a single command, the single quotation marks are optional.</p>
</dd>
</dl>
<h3><a id="Environment"></a><a id="environment"></a><a id="ENVIRONMENT"></a>Environment</h3>
<table>
<tr>
<td>
<p><b>Modes</b></p>
</td>
<td>
<p>User mode, kernel mode</p>
</td>
</tr>
<tr>
<td>
<p><b>Targets</b></p>
</td>
<td>
<p>Live, crash dump</p>
</td>
</tr>
<tr>
<td>
<p><b>Platforms</b></p>
</td>
<td>
<p>All </p>
</td>
</tr>
</table>
<p> </p>
<h2>Remarks</h2>
<p>You cannot add a semicolon or additional commands after the <b>j</b> command. If a semicolon appears after <i>Command2</i>, everything after the semicolon is ignored.</p>
<p>The following command displays the value of <b>eax</b> if <b>MySymbol</b> is equal to zero and displays the values of <b>ebx</b> and <b>ecx</b> otherwise.</p>
<div class="code"><span codelanguage=""><table>
<tr>
<th></th>
</tr>
<tr>
<td>
<pre>0:000&gt; j (MySymbol=0) 'r eax'; 'r ebx; r ecx' </pre>
</td>
</tr>
</table></span></div>
<p>You could omit the single quotation marks around <b>r eax</b>, but they make the command easier to read. If you want to omit one of the commands, you can include empty quotation marks or omit the parameter for that command, as in the following commands.</p>
<div class="code"><span codelanguage=""><table>
<tr>
<th></th>
</tr>
<tr>
<td>
<pre>0:000&gt; j (MySymbol=0) ''; 'r ebx; r ecx' 
0:000&gt; j (MySymbol=0)  ; 'r ebx; r ecx' </pre>
</td>
</tr>
</table></span></div>
<p>You can also use the <b>j</b> command inside other commands. For example, you can use a <b>j </b>command to create conditional breakpoints.</p>
<div class="code"><span codelanguage=""><table>
<tr>
<th></th>
</tr>
<tr>
<td>
<pre>0:000&gt; bp `mysource.cpp:143` "j (poi(MyVar)&gt;0n20) ''; 'gc' "</pre>
</td>
</tr>
</table></span></div>
<p>For more information about the syntax for conditional breakpoints, see <a href="#Bookmark1358">Setting a Conditional Breakpoint</a>.</p>
<h2><a id="see_also"></a>See also</h2>
<dl>
<dt><a href="#Bookmark2051"><b>z (Execute While)</b></a></dt></dl></div></div>	
	<div id="winchm_template_footer">Copyright &copy; 2019. All rights 
reserved. (To change the copyright info, just edit it in template.)</div>
</div>

</body>
</html>
